/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package furniture;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EEnum;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;

/**
 * <!-- begin-user-doc -->
 * The <b>Package</b> for the model.
 * It contains accessors for the meta objects to represent
 * <ul>
 *   <li>each class,</li>
 *   <li>each feature of each class,</li>
 *   <li>each enum,</li>
 *   <li>and each data type</li>
 * </ul>
 * <!-- end-user-doc -->
 * @see furniture.FurnitureFactory
 * @model kind="package"
 * @generated
 */
public interface FurniturePackage extends EPackage {
	/**
	 * The package name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNAME = "furniture";

	/**
	 * The package namespace URI.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNS_URI = "http://cubussapiens.hu/furniture";

	/**
	 * The package namespace name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNS_PREFIX = "furn";

	/**
	 * The singleton instance of the package.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	FurniturePackage eINSTANCE = furniture.impl.FurniturePackageImpl.init();

	/**
	 * The meta object id for the '{@link furniture.impl.FurnitureImpl <em>Furniture</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see furniture.impl.FurnitureImpl
	 * @see furniture.impl.FurniturePackageImpl#getFurniture()
	 * @generated
	 */
	int FURNITURE = 0;

	/**
	 * The feature id for the '<em><b>Vars</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int FURNITURE__VARS = 0;

	/**
	 * The feature id for the '<em><b>Boards</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int FURNITURE__BOARDS = 1;

	/**
	 * The feature id for the '<em><b>Parts</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int FURNITURE__PARTS = 2;

	/**
	 * The number of structural features of the '<em>Furniture</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int FURNITURE_FEATURE_COUNT = 3;

	/**
	 * The meta object id for the '{@link furniture.impl.ValueImpl <em>Value</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see furniture.impl.ValueImpl
	 * @see furniture.impl.FurniturePackageImpl#getValue()
	 * @generated
	 */
	int VALUE = 1;

	/**
	 * The number of structural features of the '<em>Value</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int VALUE_FEATURE_COUNT = 0;

	/**
	 * The meta object id for the '{@link furniture.impl.NamedValueImpl <em>Named Value</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see furniture.impl.NamedValueImpl
	 * @see furniture.impl.FurniturePackageImpl#getNamedValue()
	 * @generated
	 */
	int NAMED_VALUE = 2;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int NAMED_VALUE__NAME = VALUE_FEATURE_COUNT + 0;

	/**
	 * The feature id for the '<em><b>Value</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int NAMED_VALUE__VALUE = VALUE_FEATURE_COUNT + 1;

	/**
	 * The number of structural features of the '<em>Named Value</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int NAMED_VALUE_FEATURE_COUNT = VALUE_FEATURE_COUNT + 2;

	/**
	 * The meta object id for the '{@link furniture.impl.LiteralImpl <em>Literal</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see furniture.impl.LiteralImpl
	 * @see furniture.impl.FurniturePackageImpl#getLiteral()
	 * @generated
	 */
	int LITERAL = 3;

	/**
	 * The feature id for the '<em><b>Value</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int LITERAL__VALUE = VALUE_FEATURE_COUNT + 0;

	/**
	 * The number of structural features of the '<em>Literal</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int LITERAL_FEATURE_COUNT = VALUE_FEATURE_COUNT + 1;

	/**
	 * The meta object id for the '{@link furniture.impl.BoardImpl <em>Board</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see furniture.impl.BoardImpl
	 * @see furniture.impl.FurniturePackageImpl#getBoard()
	 * @generated
	 */
	int BOARD = 4;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int BOARD__NAME = 0;

	/**
	 * The feature id for the '<em><b>Thickness</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int BOARD__THICKNESS = 1;

	/**
	 * The number of structural features of the '<em>Board</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int BOARD_FEATURE_COUNT = 2;

	/**
	 * The meta object id for the '{@link furniture.impl.PointImpl <em>Point</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see furniture.impl.PointImpl
	 * @see furniture.impl.FurniturePackageImpl#getPoint()
	 * @generated
	 */
	int POINT = 5;

	/**
	 * The feature id for the '<em><b>X</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int POINT__X = 0;

	/**
	 * The feature id for the '<em><b>Y</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int POINT__Y = 1;

	/**
	 * The number of structural features of the '<em>Point</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int POINT_FEATURE_COUNT = 2;

	/**
	 * The meta object id for the '{@link furniture.impl.PartImpl <em>Part</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see furniture.impl.PartImpl
	 * @see furniture.impl.FurniturePackageImpl#getPart()
	 * @generated
	 */
	int PART = 6;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PART__NAME = 0;

	/**
	 * The feature id for the '<em><b>Board</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PART__BOARD = 1;

	/**
	 * The feature id for the '<em><b>Placement</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PART__PLACEMENT = 2;

	/**
	 * The feature id for the '<em><b>X</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PART__X = 3;

	/**
	 * The feature id for the '<em><b>Y</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PART__Y = 4;

	/**
	 * The feature id for the '<em><b>Z</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PART__Z = 5;

	/**
	 * The number of structural features of the '<em>Part</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PART_FEATURE_COUNT = 6;

	/**
	 * The meta object id for the '{@link furniture.impl.ValueRefImpl <em>Value Ref</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see furniture.impl.ValueRefImpl
	 * @see furniture.impl.FurniturePackageImpl#getValueRef()
	 * @generated
	 */
	int VALUE_REF = 7;

	/**
	 * The feature id for the '<em><b>Ref</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int VALUE_REF__REF = VALUE_FEATURE_COUNT + 0;

	/**
	 * The number of structural features of the '<em>Value Ref</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int VALUE_REF_FEATURE_COUNT = VALUE_FEATURE_COUNT + 1;

	/**
	 * The meta object id for the '{@link furniture.impl.RectangularBoardImpl <em>Rectangular Board</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see furniture.impl.RectangularBoardImpl
	 * @see furniture.impl.FurniturePackageImpl#getRectangularBoard()
	 * @generated
	 */
	int RECTANGULAR_BOARD = 8;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int RECTANGULAR_BOARD__NAME = BOARD__NAME;

	/**
	 * The feature id for the '<em><b>Thickness</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int RECTANGULAR_BOARD__THICKNESS = BOARD__THICKNESS;

	/**
	 * The feature id for the '<em><b>X</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int RECTANGULAR_BOARD__X = BOARD_FEATURE_COUNT + 0;

	/**
	 * The feature id for the '<em><b>Y</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int RECTANGULAR_BOARD__Y = BOARD_FEATURE_COUNT + 1;

	/**
	 * The number of structural features of the '<em>Rectangular Board</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int RECTANGULAR_BOARD_FEATURE_COUNT = BOARD_FEATURE_COUNT + 2;

	/**
	 * The meta object id for the '{@link furniture.impl.PolygonBoardImpl <em>Polygon Board</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see furniture.impl.PolygonBoardImpl
	 * @see furniture.impl.FurniturePackageImpl#getPolygonBoard()
	 * @generated
	 */
	int POLYGON_BOARD = 9;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int POLYGON_BOARD__NAME = BOARD__NAME;

	/**
	 * The feature id for the '<em><b>Thickness</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int POLYGON_BOARD__THICKNESS = BOARD__THICKNESS;

	/**
	 * The feature id for the '<em><b>Points</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int POLYGON_BOARD__POINTS = BOARD_FEATURE_COUNT + 0;

	/**
	 * The number of structural features of the '<em>Polygon Board</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int POLYGON_BOARD_FEATURE_COUNT = BOARD_FEATURE_COUNT + 1;

	/**
	 * The meta object id for the '{@link furniture.impl.AdditionImpl <em>Addition</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see furniture.impl.AdditionImpl
	 * @see furniture.impl.FurniturePackageImpl#getAddition()
	 * @generated
	 */
	int ADDITION = 10;

	/**
	 * The feature id for the '<em><b>Values</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int ADDITION__VALUES = VALUE_FEATURE_COUNT + 0;

	/**
	 * The number of structural features of the '<em>Addition</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int ADDITION_FEATURE_COUNT = VALUE_FEATURE_COUNT + 1;

	/**
	 * The meta object id for the '{@link furniture.impl.MultiplicationImpl <em>Multiplication</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see furniture.impl.MultiplicationImpl
	 * @see furniture.impl.FurniturePackageImpl#getMultiplication()
	 * @generated
	 */
	int MULTIPLICATION = 11;

	/**
	 * The feature id for the '<em><b>Values</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int MULTIPLICATION__VALUES = VALUE_FEATURE_COUNT + 0;

	/**
	 * The number of structural features of the '<em>Multiplication</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int MULTIPLICATION_FEATURE_COUNT = VALUE_FEATURE_COUNT + 1;

	/**
	 * The meta object id for the '{@link furniture.Placement <em>Placement</em>}' enum.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see furniture.Placement
	 * @see furniture.impl.FurniturePackageImpl#getPlacement()
	 * @generated
	 */
	int PLACEMENT = 12;


	/**
	 * Returns the meta object for class '{@link furniture.Furniture <em>Furniture</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Furniture</em>'.
	 * @see furniture.Furniture
	 * @generated
	 */
	EClass getFurniture();

	/**
	 * Returns the meta object for the containment reference list '{@link furniture.Furniture#getVars <em>Vars</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Vars</em>'.
	 * @see furniture.Furniture#getVars()
	 * @see #getFurniture()
	 * @generated
	 */
	EReference getFurniture_Vars();

	/**
	 * Returns the meta object for the containment reference list '{@link furniture.Furniture#getBoards <em>Boards</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Boards</em>'.
	 * @see furniture.Furniture#getBoards()
	 * @see #getFurniture()
	 * @generated
	 */
	EReference getFurniture_Boards();

	/**
	 * Returns the meta object for the containment reference list '{@link furniture.Furniture#getParts <em>Parts</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Parts</em>'.
	 * @see furniture.Furniture#getParts()
	 * @see #getFurniture()
	 * @generated
	 */
	EReference getFurniture_Parts();

	/**
	 * Returns the meta object for class '{@link furniture.Value <em>Value</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Value</em>'.
	 * @see furniture.Value
	 * @generated
	 */
	EClass getValue();

	/**
	 * Returns the meta object for class '{@link furniture.NamedValue <em>Named Value</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Named Value</em>'.
	 * @see furniture.NamedValue
	 * @generated
	 */
	EClass getNamedValue();

	/**
	 * Returns the meta object for the attribute '{@link furniture.NamedValue#getName <em>Name</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Name</em>'.
	 * @see furniture.NamedValue#getName()
	 * @see #getNamedValue()
	 * @generated
	 */
	EAttribute getNamedValue_Name();

	/**
	 * Returns the meta object for the containment reference '{@link furniture.NamedValue#getValue <em>Value</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference '<em>Value</em>'.
	 * @see furniture.NamedValue#getValue()
	 * @see #getNamedValue()
	 * @generated
	 */
	EReference getNamedValue_Value();

	/**
	 * Returns the meta object for class '{@link furniture.Literal <em>Literal</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Literal</em>'.
	 * @see furniture.Literal
	 * @generated
	 */
	EClass getLiteral();

	/**
	 * Returns the meta object for the attribute '{@link furniture.Literal#getValue <em>Value</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Value</em>'.
	 * @see furniture.Literal#getValue()
	 * @see #getLiteral()
	 * @generated
	 */
	EAttribute getLiteral_Value();

	/**
	 * Returns the meta object for class '{@link furniture.Board <em>Board</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Board</em>'.
	 * @see furniture.Board
	 * @generated
	 */
	EClass getBoard();

	/**
	 * Returns the meta object for the attribute '{@link furniture.Board#getName <em>Name</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Name</em>'.
	 * @see furniture.Board#getName()
	 * @see #getBoard()
	 * @generated
	 */
	EAttribute getBoard_Name();

	/**
	 * Returns the meta object for the containment reference '{@link furniture.Board#getThickness <em>Thickness</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference '<em>Thickness</em>'.
	 * @see furniture.Board#getThickness()
	 * @see #getBoard()
	 * @generated
	 */
	EReference getBoard_Thickness();

	/**
	 * Returns the meta object for class '{@link furniture.Point <em>Point</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Point</em>'.
	 * @see furniture.Point
	 * @generated
	 */
	EClass getPoint();

	/**
	 * Returns the meta object for the containment reference '{@link furniture.Point#getX <em>X</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference '<em>X</em>'.
	 * @see furniture.Point#getX()
	 * @see #getPoint()
	 * @generated
	 */
	EReference getPoint_X();

	/**
	 * Returns the meta object for the containment reference '{@link furniture.Point#getY <em>Y</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference '<em>Y</em>'.
	 * @see furniture.Point#getY()
	 * @see #getPoint()
	 * @generated
	 */
	EReference getPoint_Y();

	/**
	 * Returns the meta object for class '{@link furniture.Part <em>Part</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Part</em>'.
	 * @see furniture.Part
	 * @generated
	 */
	EClass getPart();

	/**
	 * Returns the meta object for the attribute '{@link furniture.Part#getName <em>Name</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Name</em>'.
	 * @see furniture.Part#getName()
	 * @see #getPart()
	 * @generated
	 */
	EAttribute getPart_Name();

	/**
	 * Returns the meta object for the reference '{@link furniture.Part#getBoard <em>Board</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference '<em>Board</em>'.
	 * @see furniture.Part#getBoard()
	 * @see #getPart()
	 * @generated
	 */
	EReference getPart_Board();

	/**
	 * Returns the meta object for the attribute '{@link furniture.Part#getPlacement <em>Placement</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Placement</em>'.
	 * @see furniture.Part#getPlacement()
	 * @see #getPart()
	 * @generated
	 */
	EAttribute getPart_Placement();

	/**
	 * Returns the meta object for the containment reference '{@link furniture.Part#getX <em>X</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference '<em>X</em>'.
	 * @see furniture.Part#getX()
	 * @see #getPart()
	 * @generated
	 */
	EReference getPart_X();

	/**
	 * Returns the meta object for the containment reference '{@link furniture.Part#getY <em>Y</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference '<em>Y</em>'.
	 * @see furniture.Part#getY()
	 * @see #getPart()
	 * @generated
	 */
	EReference getPart_Y();

	/**
	 * Returns the meta object for the containment reference '{@link furniture.Part#getZ <em>Z</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference '<em>Z</em>'.
	 * @see furniture.Part#getZ()
	 * @see #getPart()
	 * @generated
	 */
	EReference getPart_Z();

	/**
	 * Returns the meta object for class '{@link furniture.ValueRef <em>Value Ref</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Value Ref</em>'.
	 * @see furniture.ValueRef
	 * @generated
	 */
	EClass getValueRef();

	/**
	 * Returns the meta object for the reference '{@link furniture.ValueRef#getRef <em>Ref</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference '<em>Ref</em>'.
	 * @see furniture.ValueRef#getRef()
	 * @see #getValueRef()
	 * @generated
	 */
	EReference getValueRef_Ref();

	/**
	 * Returns the meta object for class '{@link furniture.RectangularBoard <em>Rectangular Board</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Rectangular Board</em>'.
	 * @see furniture.RectangularBoard
	 * @generated
	 */
	EClass getRectangularBoard();

	/**
	 * Returns the meta object for the containment reference '{@link furniture.RectangularBoard#getX <em>X</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference '<em>X</em>'.
	 * @see furniture.RectangularBoard#getX()
	 * @see #getRectangularBoard()
	 * @generated
	 */
	EReference getRectangularBoard_X();

	/**
	 * Returns the meta object for the containment reference '{@link furniture.RectangularBoard#getY <em>Y</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference '<em>Y</em>'.
	 * @see furniture.RectangularBoard#getY()
	 * @see #getRectangularBoard()
	 * @generated
	 */
	EReference getRectangularBoard_Y();

	/**
	 * Returns the meta object for class '{@link furniture.PolygonBoard <em>Polygon Board</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Polygon Board</em>'.
	 * @see furniture.PolygonBoard
	 * @generated
	 */
	EClass getPolygonBoard();

	/**
	 * Returns the meta object for the containment reference list '{@link furniture.PolygonBoard#getPoints <em>Points</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Points</em>'.
	 * @see furniture.PolygonBoard#getPoints()
	 * @see #getPolygonBoard()
	 * @generated
	 */
	EReference getPolygonBoard_Points();

	/**
	 * Returns the meta object for class '{@link furniture.Addition <em>Addition</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Addition</em>'.
	 * @see furniture.Addition
	 * @generated
	 */
	EClass getAddition();

	/**
	 * Returns the meta object for the containment reference list '{@link furniture.Addition#getValues <em>Values</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Values</em>'.
	 * @see furniture.Addition#getValues()
	 * @see #getAddition()
	 * @generated
	 */
	EReference getAddition_Values();

	/**
	 * Returns the meta object for class '{@link furniture.Multiplication <em>Multiplication</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Multiplication</em>'.
	 * @see furniture.Multiplication
	 * @generated
	 */
	EClass getMultiplication();

	/**
	 * Returns the meta object for the containment reference list '{@link furniture.Multiplication#getValues <em>Values</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Values</em>'.
	 * @see furniture.Multiplication#getValues()
	 * @see #getMultiplication()
	 * @generated
	 */
	EReference getMultiplication_Values();

	/**
	 * Returns the meta object for enum '{@link furniture.Placement <em>Placement</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for enum '<em>Placement</em>'.
	 * @see furniture.Placement
	 * @generated
	 */
	EEnum getPlacement();

	/**
	 * Returns the factory that creates the instances of the model.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the factory that creates the instances of the model.
	 * @generated
	 */
	FurnitureFactory getFurnitureFactory();

	/**
	 * <!-- begin-user-doc -->
	 * Defines literals for the meta objects that represent
	 * <ul>
	 *   <li>each class,</li>
	 *   <li>each feature of each class,</li>
	 *   <li>each enum,</li>
	 *   <li>and each data type</li>
	 * </ul>
	 * <!-- end-user-doc -->
	 * @generated
	 */
	interface Literals {
		/**
		 * The meta object literal for the '{@link furniture.impl.FurnitureImpl <em>Furniture</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see furniture.impl.FurnitureImpl
		 * @see furniture.impl.FurniturePackageImpl#getFurniture()
		 * @generated
		 */
		EClass FURNITURE = eINSTANCE.getFurniture();

		/**
		 * The meta object literal for the '<em><b>Vars</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference FURNITURE__VARS = eINSTANCE.getFurniture_Vars();

		/**
		 * The meta object literal for the '<em><b>Boards</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference FURNITURE__BOARDS = eINSTANCE.getFurniture_Boards();

		/**
		 * The meta object literal for the '<em><b>Parts</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference FURNITURE__PARTS = eINSTANCE.getFurniture_Parts();

		/**
		 * The meta object literal for the '{@link furniture.impl.ValueImpl <em>Value</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see furniture.impl.ValueImpl
		 * @see furniture.impl.FurniturePackageImpl#getValue()
		 * @generated
		 */
		EClass VALUE = eINSTANCE.getValue();

		/**
		 * The meta object literal for the '{@link furniture.impl.NamedValueImpl <em>Named Value</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see furniture.impl.NamedValueImpl
		 * @see furniture.impl.FurniturePackageImpl#getNamedValue()
		 * @generated
		 */
		EClass NAMED_VALUE = eINSTANCE.getNamedValue();

		/**
		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute NAMED_VALUE__NAME = eINSTANCE.getNamedValue_Name();

		/**
		 * The meta object literal for the '<em><b>Value</b></em>' containment reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference NAMED_VALUE__VALUE = eINSTANCE.getNamedValue_Value();

		/**
		 * The meta object literal for the '{@link furniture.impl.LiteralImpl <em>Literal</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see furniture.impl.LiteralImpl
		 * @see furniture.impl.FurniturePackageImpl#getLiteral()
		 * @generated
		 */
		EClass LITERAL = eINSTANCE.getLiteral();

		/**
		 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute LITERAL__VALUE = eINSTANCE.getLiteral_Value();

		/**
		 * The meta object literal for the '{@link furniture.impl.BoardImpl <em>Board</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see furniture.impl.BoardImpl
		 * @see furniture.impl.FurniturePackageImpl#getBoard()
		 * @generated
		 */
		EClass BOARD = eINSTANCE.getBoard();

		/**
		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute BOARD__NAME = eINSTANCE.getBoard_Name();

		/**
		 * The meta object literal for the '<em><b>Thickness</b></em>' containment reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference BOARD__THICKNESS = eINSTANCE.getBoard_Thickness();

		/**
		 * The meta object literal for the '{@link furniture.impl.PointImpl <em>Point</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see furniture.impl.PointImpl
		 * @see furniture.impl.FurniturePackageImpl#getPoint()
		 * @generated
		 */
		EClass POINT = eINSTANCE.getPoint();

		/**
		 * The meta object literal for the '<em><b>X</b></em>' containment reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference POINT__X = eINSTANCE.getPoint_X();

		/**
		 * The meta object literal for the '<em><b>Y</b></em>' containment reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference POINT__Y = eINSTANCE.getPoint_Y();

		/**
		 * The meta object literal for the '{@link furniture.impl.PartImpl <em>Part</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see furniture.impl.PartImpl
		 * @see furniture.impl.FurniturePackageImpl#getPart()
		 * @generated
		 */
		EClass PART = eINSTANCE.getPart();

		/**
		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute PART__NAME = eINSTANCE.getPart_Name();

		/**
		 * The meta object literal for the '<em><b>Board</b></em>' reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference PART__BOARD = eINSTANCE.getPart_Board();

		/**
		 * The meta object literal for the '<em><b>Placement</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute PART__PLACEMENT = eINSTANCE.getPart_Placement();

		/**
		 * The meta object literal for the '<em><b>X</b></em>' containment reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference PART__X = eINSTANCE.getPart_X();

		/**
		 * The meta object literal for the '<em><b>Y</b></em>' containment reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference PART__Y = eINSTANCE.getPart_Y();

		/**
		 * The meta object literal for the '<em><b>Z</b></em>' containment reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference PART__Z = eINSTANCE.getPart_Z();

		/**
		 * The meta object literal for the '{@link furniture.impl.ValueRefImpl <em>Value Ref</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see furniture.impl.ValueRefImpl
		 * @see furniture.impl.FurniturePackageImpl#getValueRef()
		 * @generated
		 */
		EClass VALUE_REF = eINSTANCE.getValueRef();

		/**
		 * The meta object literal for the '<em><b>Ref</b></em>' reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference VALUE_REF__REF = eINSTANCE.getValueRef_Ref();

		/**
		 * The meta object literal for the '{@link furniture.impl.RectangularBoardImpl <em>Rectangular Board</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see furniture.impl.RectangularBoardImpl
		 * @see furniture.impl.FurniturePackageImpl#getRectangularBoard()
		 * @generated
		 */
		EClass RECTANGULAR_BOARD = eINSTANCE.getRectangularBoard();

		/**
		 * The meta object literal for the '<em><b>X</b></em>' containment reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference RECTANGULAR_BOARD__X = eINSTANCE.getRectangularBoard_X();

		/**
		 * The meta object literal for the '<em><b>Y</b></em>' containment reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference RECTANGULAR_BOARD__Y = eINSTANCE.getRectangularBoard_Y();

		/**
		 * The meta object literal for the '{@link furniture.impl.PolygonBoardImpl <em>Polygon Board</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see furniture.impl.PolygonBoardImpl
		 * @see furniture.impl.FurniturePackageImpl#getPolygonBoard()
		 * @generated
		 */
		EClass POLYGON_BOARD = eINSTANCE.getPolygonBoard();

		/**
		 * The meta object literal for the '<em><b>Points</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference POLYGON_BOARD__POINTS = eINSTANCE.getPolygonBoard_Points();

		/**
		 * The meta object literal for the '{@link furniture.impl.AdditionImpl <em>Addition</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see furniture.impl.AdditionImpl
		 * @see furniture.impl.FurniturePackageImpl#getAddition()
		 * @generated
		 */
		EClass ADDITION = eINSTANCE.getAddition();

		/**
		 * The meta object literal for the '<em><b>Values</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference ADDITION__VALUES = eINSTANCE.getAddition_Values();

		/**
		 * The meta object literal for the '{@link furniture.impl.MultiplicationImpl <em>Multiplication</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see furniture.impl.MultiplicationImpl
		 * @see furniture.impl.FurniturePackageImpl#getMultiplication()
		 * @generated
		 */
		EClass MULTIPLICATION = eINSTANCE.getMultiplication();

		/**
		 * The meta object literal for the '<em><b>Values</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference MULTIPLICATION__VALUES = eINSTANCE.getMultiplication_Values();

		/**
		 * The meta object literal for the '{@link furniture.Placement <em>Placement</em>}' enum.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see furniture.Placement
		 * @see furniture.impl.FurniturePackageImpl#getPlacement()
		 * @generated
		 */
		EEnum PLACEMENT = eINSTANCE.getPlacement();

	}

} //FurniturePackage
